package com.task.core.domain;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.task.common.domain.info.BaseInfo;
import com.task.common.domain.info.PlanInfo;
import com.task.common.info.DeviceFraudInfo;
import com.task.common.info.DeviceGroupInfo;
import com.task.common.info.FlowFilterInfo;
import com.task.common.info.IpFraudInfo;
import com.task.common.info.PluginInfo;
import com.task.common.info.ProxyInfo;

import com.task.core.dto.response.SysFileInfoResponseDTO;
import lombok.Data;

/**
 * @author 迪迦.
 * @date 2024/11/4 14:14
 */
@Data
public class MissionInfo extends BaseInfo  {

  private Integer id;
  private String code;
  private String missionName;
  private String advertiserCode;
  private String advertiserName;
  private String affiliateCode;
  private String affiliateName;
  private String groupCode;
  private String groupName;
  private String countryCode;
  private String planCode;
  private String limitationType;
  private Integer limitationCount;
  private String urls;
  private String htmlStartKeywords;
  private String urlStartKeywords;
  private String htmlEndKeywords;
  private String urlEndKeywords;
  private Integer timeOut;
  private String ipIntervalType;
  private Integer ipIntervalTime;
  private Integer requestInterval;
  private Long pageStatusThreshold;
  private Boolean normalState;

  private Long scriptExecuteThreshold;
  private Boolean scriptExecuteState;

  private Boolean cloudStorage;
  private String payout;
  private Boolean status;
  private Integer weight;
  //浏览器引擎配置  集合类型的json MissionEngineConfigCode
  private String browserEnginesConfigCode;
//  private String scriptFileCode;
  private String scriptFileCodeJson;
  private List<String> scriptFileCodes;
  private String dataSourceConfig;
  private String refererSourceConfig;
  private List<ProxyInfo> proxies;
  //private String proxyCode;
  private List<IpFraudInfo> ipFrauds;
  private List<DeviceFraudInfo> deviceFrauds;
  private List<PluginInfo> plugins;
  private SysFileInfo fileInfo;
  private List<SysFileInfoResponseDTO> fileInfos;
  private String fingerprint;
  private List<DeviceGroupInfo> deviceGroups;
  private Boolean flowFilterStatus;
  private Boolean sslDecrypt;
  private List<FlowFilterInfo> flowFilterRules;
  private String description;
  private PlanInfo planInfo;
  private MissionData dataSource;
  private MissionData refererSource;


  //引擎选择
  private List<EngineInfo> engineInfo;


}
